Page({
  data: {
    isPlaying: true,
    isRotating: true,
    bgmMain: null, // 主背景音乐
    bgmAmbient: null, // 环境音效
    mainVolume: 1, // 主音乐音量
    ambientVolume: 0.1, // 环境音音量
  },
  onShow() {
    this.initAudio();

    this.setData({
      isPlaying: true,
      isRotating: true,
    })
    
    // 1. 获取子组件实例
    this.childRef = this.selectComponent('#textAnimateId');
    this.childRef && this.childRef.handleReset();
    this.childRef && this.childRef.simulateAudioPlayback();
  },
  onHide() {
    this.setData({
      isPlaying: false,
      isRotating: false,
    })
  },
  initAudio() {
    // 主背景音乐 - 音量较大
    const bgmMain = wx.createInnerAudioContext();
    bgmMain.src = "https://web-zy.obs.cn-east-3.myhuaweicloud.com/xsc-dl/%E9%80%90%E6%9C%AC1.mov"; // 你的主音乐地址
    bgmMain.loop = false; // 不循环，播放一次
    bgmMain.volume = this.data.mainVolume;
    bgmMain.obeyMuteSwitch = false;

    // 环境音效 - 音量较小
    const bgmAmbient = wx.createInnerAudioContext();
    bgmAmbient.src = "https://web-zy.obs.cn-east-3.myhuaweicloud.com/xsc-dl/21.MP3"; // 你的环境音地址
    bgmAmbient.loop = true; // 环境音循环播放
    bgmAmbient.volume = this.data.ambientVolume;
    bgmAmbient.obeyMuteSwitch = false;

    bgmAmbient.play(); // 先播放环境音
    bgmMain.play(); // 稍微延迟播放主音乐

    // 主音乐播放完毕事件
    bgmMain.onEnded(() => {
      
      console.log("主音乐播放完毕");
      this.setData({
        isPlaying: false,
      });
      this.childRef && this.childRef.handleReset();
      setTimeout(() => {
        this.setData({
          isRotating: false,
        });
        // bgmAmbient.stop(); // 停止播放
      }, 1000);
    });

    this.setData({ 
      bgmMain, 
      bgmAmbient,
      isPlaying: true,
      isRotating: true
    });
  },
  playOnce() {
    const { bgmAmbient, bgmMain, isPlaying, isRotating } = this.data;

    if (!isPlaying && !isRotating) {
      // 播放音乐并开始旋转
      // 开始播放两个音频
      bgmAmbient.play(); // 先播放环境音
      bgmMain.play(); // 稍微延迟播放主音乐
      this.childRef && this.childRef.handleReset();
      this.childRef && this.childRef.simulateAudioPlayback();
      this.setData({ isPlaying: true, isRotating: true });
    } else {
      // 再次点击暂停
      // bgm.pause();
      // this.setData({ isPlaying: false });
    }
  },
  onUnload() {
    this.data.bgmMain?.stop();
    this.data.bgmMain?.destroy();
    this.data.bgmAmbient?.stop();
    this.data.bgmAmbient?.destroy();
  },
});
